iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
0
Elastic Stack on Cloud

ES 新手,破門而入!!!系列 第 3

【ES新手,破門而入!】Day3 - Hello,Metrics

  • 分享至 

  • xImage
  •  

你可以學到?

今天,你將學到如何使用 Elastic Cloud(後面簡稱 EC)從你的應用程式讀入、閱讀和分析指標(metrics)資料。

本篇的主題包含有:

  1. 什麼是指標(Metrics)?
  2. 串流指標到 Elastic
  3. 使用 Kibana 來探索指標資料

那我們就開始吧!

什麼是指標(Metrics)?

  • 指標(Metrics):是在一段固定間隔收集的測量或系統狀態的紀錄。

舉例來說,CPU的使用量、硬碟剩餘儲存空間、多少使用者連接到資料庫,有時我們會收集所謂的 KPIs(key performance indicators),用來做後續對於系統使用量的評斷和分析。

指標(Metrics)和可觀測性(Observability)

指標可用來偵測或預測問題,例如突然飆高的 CPU 使用率或將要沒有使用空間的主機,也可以用做更主動地分析來優化系統,最後還可以用來做衝擊分析(impact analysis),像是應用服務掛掉的那段時間,造成使用者不爽不用了或是對營收的影響等等。

動手實作 EP2:使用 Elastic Cloud 做簡單的指標分析

Elastic Cloud 登入 與 創造一個部署

  1. 這邊都是每次新的實作會重複的部分,可以參考 Day2 動手實作 EP1 一開始的部分,唯一稍微不同的地方就是這次我把名稱取做:test_metrics

串流指標到 Elastic

這一部分的實作,我們將可以學到:

  • 如何下載並在本機端安裝 Metricbeat
  • 如何設置預先建好的儀表板
  1. 進入創建好的頁面後,馬上可以看到大大的 Open Kibana 按鈕,點開後這次選擇 Add metric data


  1. 你會看到琳瑯滿目的指標種類,這次實作我們選用 System metrics,選進去後,一樣選擇你的作業系統來做對應指令的操作,我就選擇 macOS


  1. 用下面指令,在 terminal 下載與安裝 Metricbeat
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.9.0-darwin-x86_64.tar.gz
tar xzvf metricbeat-7.9.0-darwin-x86_64.tar.gz
cd metricbeat-7.9.0-darwin-x86_64/

  1. 安裝好後,我們先看看資料夾裡面有什麼檔案,裡面有接下來我們要設定的 metricbeat.yml 這個檔案,把我們 EC 的資訊加進去裡面,而其中的 <password> ,就填入一開始下載下來 EC 的帳號密碼。

cloud.id: "test_metrics:YXNpYS1lYXN0MS5nY3AuZWxhc3RpYy1jbG91ZC5jb20kYmE1NTEzMWU3OGU4NGEzZjgwYTk5ZWUwMDBiNTZhZGEkM2ZmY2NkY2NkNzM4NDkyZGE4NjY4MTc2YTMxYjlhZjI="
cloud.auth: "elastic:<password>"

  1. 啟動並設定系統模組
./metricbeat modules enable system

  1. 若是第一次連結,需要先使用 setup 指令來讀取 Kibana 儀表板;若已經連接過儀表板,就直接執行 Metricbeat 就可以了。
# 第一次連結才需要執行
./metricbeat setup 
# 啟動 Metricbeat
./metricbeat -e

  1. 按下 Check data,檢查連結是否正確,這樣就差不多啦!接下來就是視覺化資料的部分了。

  1. 從儀表板(Dashboards)中,我們可以選擇到很多已經建立好的樣板,我們選擇其中一種和 system 有關的來看看,可以看到我的筆電目前被我奴役的情況,記憶體使用有點高,達到了 61.5%,其中使用比較多的就是吃效能怪物-瀏覽器 Chrome(還好現在沒開什麼怪怪的應用程式ㄎㄎ)。


  1. 也可以從 Observability 下,選擇 Metrics,可以看到比較簡單的幾個指標資料,例如下面是 CPU 使用率。

視覺化指標資料

這一部分的實作,我們將可以學到:

  • 如何使用指標探索器(Metrics Explorer)來建造視覺化圖表
  1. 這邊我們依然從 Observability 下,選擇 Metrics,順帶一提,如果想要看詳細的日誌、指標等資訊,可以在圖上點一下,下面會顯示各種可觀察的資料。


  1. 接著我們從上方選擇 Metrics Explorer,在下方可以輸入想要畫出的資料線條來源,這邊我額外畫了 system.load.1system.load.5system.load.15

  1. 最後,右邊可以將視覺化的圖表,依照你想分解的類別畫出來,例如說用 agent.hostname 來分的話,在判別某個 host 有問題,或是想看整體 host 的狀況時,就會很有幫助。

今日心得與短結

歐齁~第三天和第二天相比,就順了不少,可能是有前一天的打底基礎,蠻多操作都很類似或是相同的,希望可以這樣漸入佳境,究竟~會是一條天堂路,還是一道地獄門,就讓我們繼續~寫~下~去!

今天我們學到了如何將指標,透過本地端的 Metricbeat 與雲端的 Elastic 和 Kibana 連接,送進 EC 上做分析和視覺化結果,明天我們將要來了解應用程式效能監控(APM)是什麼鬼了!


上一篇
【ES新手,破門而入!】Day2 - Logging 芝麻開門
下一篇
【ES新手,破門而入!】Day4 - APM 阿囉哈!
系列文
ES 新手,破門而入!!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言